package xyz.riceball.develop.entity.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import xyz.riceball.framework.core.bean.BaseDatePO;
import xyz.riceball.framework.core.valid.ValidEdit;

import javax.validation.constraints.NotBlank;

/**
 * 输入输出参数 数据库实体
 *
 * @author xiaovcloud
 * @since 2022-07-02 10:58:37
 */
@ApiModel("输入输出参数")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_rb_inoutparam")
public class InoutParamPO extends BaseDatePO<InoutParamPO> {
	/**
	 * 主键id
	 */
	@TableId
	@ApiModelProperty("主键id")
	@NotBlank(message = "主键不能为空", groups = ValidEdit.class)
	private String id;
	/**
	 * sql字段
	 */
	@TableField(value = "sql_field")
	@ApiModelProperty("sql字段")
	@NotBlank(message = "sql字段不能为空")
	private String sqlField;
	/**
	 * 描述
	 */
	@TableField(value = "description")
	@ApiModelProperty("描述")
	private String description;
	/**
	 * 程序字段
	 */
	@TableField(value = "field")
	@ApiModelProperty("程序字段")
	@NotBlank(message = "程序字段不能为空")
	private Integer field;
	/**
	 * 数据库类型
	 */
	@TableField(value = "db_type")
	@ApiModelProperty("数据库类型")
	@NotBlank(message = "数据库类型不能为空")
	private String dbType;
	/**
	 * 字段类别 1为输入 2为输出
	 */
	@TableField(value = "field_type")
	@ApiModelProperty("字段类别")
	@NotBlank(message = "字段类别不能为空")
	private String fieldType;
	/**
	 * 字段条件
	 */
	@TableField(value = "filed_condition")
	@ApiModelProperty("字段条件")
	@NotBlank(message = "字段条件不能为空")
	private String filedCondition;
	/**
	 * 序号
	 */
	@TableField(value = "weight")
	@ApiModelProperty("序号")
	private Integer weight;
	/**
	 * 输入输出显示类型
	 */
	@TableField(value = "show_type")
	@ApiModelProperty("输入输出显示类型")
	@NotBlank(message = "输入输出显示类型不能为空")
	private String showType;
	/**
	 * 查询参数 字典或辅助查询
	 */
	@TableField(value = "search_param")
	@ApiModelProperty("查询参数 字典或辅助查询")
	private String searchParam;
	/**
	 * 初始条件
	 */
	@TableField(value = "init_param")
	@ApiModelProperty("初始条件")
	private String initParam;
}
